﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Negocio.Osd;
using Negocio.Generico;
using Negocio.View;

namespace PresentacionWeb
{
    public partial class Principal : System.Web.UI.Page
    {

        #region Propiedades

        private PersonaDTO tokenUsuario=null;

        #endregion


        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void lbRegistro_Click(object sender, EventArgs e)
        {
            try
            {
                Response.Redirect("NuevoRegistro.aspx");
            }
            catch (Exception ex)
            {
                
            }
        }


        protected void Autenticacion(object sender, AuthenticateEventArgs e)
        {
            bool Autenticado = false;
            Autenticado = LoginCorrecto(loginUsuarios.UserName, loginUsuarios.Password);
            e.Authenticated = Autenticado;
            if (Autenticado)
            {
                Session["tokenUsuario"] = tokenUsuario;
                string nombre=HttpContext.Current.User.Identity.Name;
                Response.Redirect("Hall.aspx");
                //TODO: Debes de pasar por get o por post el valor del token de usuario
            }
        }


        #region Funciones privadas

        private bool LoginCorrecto(string Usuario, string Contrasena)
        {
            try
            {

                osdSeguridad objSeguridad = osdSeguridad.GetInstance();
                if (objSeguridad.Login(Usuario, Contrasena))
                {
                    //usuario logeado

                    PersonaDTO filtro = new PersonaDTO();
                    filtro.Nick = Usuario;
                    GenericaView gv = GenericaView.GetInstance();

                    IDTO[] lista = gv.GetSimple(filtro);

                    if (lista.Count() > 0)
                    {
                        //TODO:Implementar la logica
                        this.tokenUsuario = (PersonaDTO)lista[0];
                    }
                    return true;
                }
                else
                {
                   // this.MostrarExcepcion(new Exception("Ha sido imposible loguearse"));
                    return false;
                }

            }
            catch (Exception ex)
            {
               //this.MostrarExcepcion(new Exception("Ha sido imposible loguearse"));
                return false;
            }
        }

        protected void lbRegistro_Click1(object sender, EventArgs e)
        {
            Session["altaUsuario"] = true;
            Response.Redirect("NuevoRegistro.aspx");
        }

        #endregion



    }
}
